﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace Niazi.CRM.Business.Model
{
    [MetadataType(typeof(PaymentMetaData))]
    [DisplayName("پرداختی")]
    [ScaffoldTable(true)]
    public partial class Payment : IAuditable
    {

    }

    public class PaymentMetaData
    {
        [ScaffoldColumn(false)]
        public object Id { get; set; }

        [Display(Name="نوع پرداختی", Order=10)]
        [Required(ErrorMessage = "انتخاب فیلد نوع پرداختی الزامی می باشد")]
        public object PaymentType { get; set; }

        [Display(Name="مبلغ", Order=20)]
        [Required(ErrorMessage = "پر کردن فیلد مبلغ الزامی می باشد")]
        public object Amount { get; set; }

        [Display(Name="از شخص", Order=30)]
        [Required(ErrorMessage = "پر کردن فیلد از شخص الزامی می باشد")]
        public object Contact { get; set; }

        [Display(Name="کد بارنامه", Order=50)]
        public object Order { get; set; }

        [Display(Name="تاریخ پرداختی", Order=60)]
        [Required(ErrorMessage = "پر کردن فیلد تاریخ پرداختی الزامی می باشد")]
        [UIHint("set_date")]
        public object PaymentDate { get; set; }

        [Display(Name="توضیحات", Order=70)]
        [StringLength(500, ErrorMessage = "حداکثر تعداد مجاز حروف فیلد توضیحات پانصد حرف می باشد")]
        public object ChequeDescription { get; set; }

        [DisplayName("آخرین اپراتور")]
        [Display(Order = 975)]
        [ReadOnly(true)]
        public object Operator { get; set; }

        [DisplayName("آخرین به روز رسانی")]
        [Display(Order = 985)]
        [ReadOnly(true)]
        public object LastUpdate { get; set; }

        [DisplayName("تاریخ ایجاد")]
        [Display(Order = 995)]
        [ReadOnly(true)]
        public object CreateDate { get; set; }
    }
}
